R-এ dplyr প্যাকেজের ব্যবহার: select, filter, arrange, mutate, summarise
dplyr হল R-এর একটি অত্যন্ত জনপ্রিয় প্যাকেজ যা ডেটা ম্যানিপুলেশন এবং প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। এটি ডেটা ফ্রেমে বিভিন্ন কার্যক্রম করতে সহজ ও দ্রুত উপায় সরবরাহ করে। dplyr প্যাকেজটি ট্যাবুলার ডেটা (যেমন ডেটা ফ্রেম) এর উপর কাজ করতে সহায়তা করে এবং এটি অনেক বেশি কর্মক্ষম ও পড়তে সহজ কোড তৈরি করতে সাহায্য করে।
এখানে dplyr প্যাকেজের ৫টি মৌলিক ফাংশন—select, filter, arrange, mutate, এবং summarise এর ব্যবহার ব্যাখ্যা করা হবে।
১. select() ফাংশন
select() ফাংশনটি ডেটা ফ্রেম থেকে নির্দিষ্ট কলাম নির্বাচন করতে ব্যবহৃত হয়। এটি নতুন ডেটা ফ্রেম তৈরি করে, যেখানে কেবল নির্বাচিত কলামগুলি থাকে।
উদাহরণ: কলাম নির্বাচন করা
# dplyr প্যাকেজ লোড করা
library(dplyr)
# একটি ডেটা ফ্রেম তৈরি করা
df <- data.frame(
Name = c("John", "Jane", "Tom", "Lucy"),
Age = c(28, 34, 22, 41),
Gender = c("Male", "Female", "Male", "Female"),
Score = c(88, 92, 75, 95)
)
# select ফাংশন দিয়ে 'Name' এবং 'Age' কলাম নির্বাচন
selected_df <- select(df, Name, Age)
print(selected_df)আউটপুট:
Name Age
1 John 28
2 Jane 34
3 Tom 22
4 Lucy 41এখানে, select(df, Name, Age) কোডে শুধুমাত্র Name এবং Age কলামগুলি নির্বাচিত হয়েছে।
২. filter() ফাংশন
filter() ফাংশনটি ডেটা ফ্রেম থেকে নির্দিষ্ট শর্ত অনুযায়ী সারি নির্বাচন করতে ব্যবহৃত হয়। এটি একটি নতুন ডেটা ফ্রেম তৈরি করে, যেখানে কেবল শর্ত পূর্ণকারী সারিগুলি থাকে।
উদাহরণ: শর্ত অনুযায়ী সারি নির্বাচন করা
# filter ফাংশন দিয়ে Age এর 30 এর বেশি হওয়া সারি নির্বাচন
filtered_df <- filter(df, Age > 30)
print(filtered_df)আউটপুট:
Name Age Gender Score
1 Jane 34 Female 92
2 Lucy 41 Female 95এখানে, filter(df, Age > 30) কোডে শুধুমাত্র সেই সারিগুলি নির্বাচন করা হয়েছে, যেখানে Age 30 এর বেশি।
৩. arrange() ফাংশন
arrange() ফাংশনটি ডেটা ফ্রেমের সারিগুলিকে কোনো নির্দিষ্ট কলাম অনুযায়ী বাড়ানো বা কমানো (sort) করে সাজায়। এটি সাধারণত কোনো নির্দিষ্ট ক্রমে ডেটা সাজাতে ব্যবহৃত হয়।
উদাহরণ: Age এর ভিত্তিতে সাজানো
# arrange ফাংশন দিয়ে 'Age' কলামের ভিত্তিতে ডেটা সাজানো (ascending order)
arranged_df <- arrange(df, Age)
print(arranged_df)আউটপুট:
Name Age Gender Score
1 Tom 22 Male 75
2 John 28 Male 88
3 Jane 34 Female 92
4 Lucy 41 Female 95এখানে, arrange(df, Age) কোডে ডেটা Age কলামের ভিত্তিতে সজ্জিত হয়েছে। এর মধ্যে প্রাথমিকভাবে ascending order (ছোট থেকে বড়) অনুসরণ করা হয়েছে।
descending order (অবতরণী ক্রম) এর জন্য:
# Age এর ভিত্তিতে descending order (বড় থেকে ছোট) এ সাজানো
arranged_df_desc <- arrange(df, desc(Age))
print(arranged_df_desc)আউটপুট:
Name Age Gender Score
1 Lucy 41 Female 95
2 Jane 34 Female 92
3 John 28 Male 88
4 Tom 22 Male 75৪. mutate() ফাংশন
mutate() ফাংশনটি নতুন কলাম তৈরি করতে বা বিদ্যমান কলামের মান পরিবর্তন করতে ব্যবহৃত হয়। এটি একটি নতুন ডেটা ফ্রেম তৈরি করে যেখানে নতুন বা পরিবর্তিত কলাম থাকে।
উদাহরণ: নতুন কলাম তৈরি করা
# mutate ফাংশন দিয়ে একটি নতুন কলাম 'Age_in_5_years' তৈরি করা
mutated_df <- mutate(df, Age_in_5_years = Age + 5)
print(mutated_df)আউটপুট:
Name Age Gender Score Age_in_5_years
1 John 28 Male 88 33
2 Jane 34 Female 92 39
3 Tom 22 Male 75 27
4 Lucy 41 Female 95 46এখানে, mutate(df, Age_in_5_years = Age + 5) কোডে Age_in_5_years নামক একটি নতুন কলাম তৈরি করা হয়েছে, যার মান মূল Age কলামের মানের সাথে ৫ যোগ করে।
৫. summarise() ফাংশন (বা summarize())
summarise() ফাংশনটি ডেটা ফ্রেমের সারির উপর নির্দিষ্ট ফাংশন (যেমন গড়, মোট, সর্বাধিক মান ইত্যাদি) প্রয়োগ করে একটি সারাংশ তৈরি করে। এটি সাধারণত গ্রুপিং (grouping) এর জন্য ব্যবহার করা হয়।
উদাহরণ: গড় Age এবং গড় Score বের করা
# summarise ফাংশন দিয়ে গড় 'Age' এবং 'Score' বের করা
summary_df <- summarise(df, avg_age = mean(Age), avg_score = mean(Score))
print(summary_df)আউটপুট:
avg_age avg_score
1 31.25 87.5এখানে, summarise(df, avg_age = mean(Age), avg_score = mean(Score)) কোডে ডেটা ফ্রেমের গড় Age এবং গড় Score বের করা হয়েছে।
গ্রুপিং (grouping) এর সাথে summarise() ব্যবহার:
# গ্রুপিং এবং summarise ফাংশন দিয়ে 'Gender' অনুযায়ী গড় 'Age' বের করা
grouped_summary <- df %>%
group_by(Gender) %>%
summarise(avg_age = mean(Age))
print(grouped_summary)আউটপুট:
# A tibble: 2 × 2
Gender avg_age
<chr> <dbl>
1 Female 37.5
2 Male 25 এখানে, group_by(Gender) দিয়ে Gender কলামের ভিত্তিতে ডেটা গ্রুপ করা হয়েছে এবং তারপরে summarise() ব্যবহার করে প্রতিটি গ্রুপের গড় বয়স বের করা হয়েছে।
সারসংক্ষেপ
select(): কলাম নির্বাচন করতে ব্যবহৃত হয়।filter(): শর্ত অনুযায়ী সারি নির্বাচন করতে ব্যবহৃত হয়।arrange(): ডেটা সজ্জিত (sort) করতে ব্যবহৃত হয়।mutate(): নতুন কলাম তৈরি বা বিদ্যমান কলামের মান পরিবর্তন করতে ব্যবহৃত হয়।summarise(): সারাংশ তৈরি করতে ব্যবহৃত হয়, যেমন গড়, মোট, সর্বাধিক মান ইত্যাদি।
এই ফাংশনগুলো dplyr প্যাকেজের কিছু মৌলিক এবং শক্তিশালী ফাংশন, যা ডেটা ম্যানিপুলেশন এবং বিশ্লেষণে অত্যন্ত কার্যকরী।
Read more